package Ite;

public class TCLTelevision implements Television{
    private Object[] obj = {"湖南卫视","北京卫视","东方卫视"};
    public TVIterator createIterator() {
        return new TCLIterator();
    }
    class TCLIterator implements TVIterator{
        private int currentIndex = 0;
        // 实现 setChannel 方法
        @Override
        public void setChannel(int i) {
            if (i >= 0 && i < obj.length) {
                currentIndex = i;
            } else {
                System.out.println("频道编号超出范围");
            }
        }

        // 已经实现了 next 方法
        @Override
        public void next() {
            if (currentIndex < obj.length - 1) { // 避免数组越界
                currentIndex++;
            } else {
                System.out.println("已经是最后一个频道");
            }
        }

        // 实现 previous 方法
        @Override
        public void previous() {
            if (currentIndex > 0) {
                currentIndex--;
            } else {
                System.out.println("已经是第一个频道");
            }
        }

        // 实现 currentChannel 方法
        @Override
        public Object currentChannel() {
            return obj[currentIndex];
        }

        // 实现 isLast 方法
        @Override
        public boolean isLast() {
            return currentIndex == obj.length - 1;
        }

        // 实现 isFirst 方法
        @Override
        public boolean isFirst() {
            return currentIndex == 0;
        }
    }
}
